package com.softtown.modules.sys.dao;


import com.softtown.common.dao.BaseDao;
import com.softtown.modules.sys.entity.CompComDocAttEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 参数管理
 *
 * @author Dingyayong
 * @since 1.0.0
 */
@Mapper
public interface CompComDocAttDao extends BaseDao<CompComDocAttEntity> {

    /**
    *  根据单据id删除附件信息
    * @param  docId 单据id
    * @param  compId 公司id
    * @return int
    * @author Dingyayong
    * @date 2019-10-09 17:29
    */
    int deleteByDocIdAndCompId(@Param("docId") Long docId,@Param("compId") Long compId);

    /**
     *  根据单据id查询附件信息
     * @param  docId 单据id
     * @param  compId 公司id
     * @return int
     * @author Dingyayong
     * @date 2019-10-09 17:29
     */
    List<CompComDocAttEntity> selectDocAttByDocId(@Param("docId") Long docId,@Param("compId") Long compId);

    /**
    * 删除附件
    * @param id 附件id
    * @param compId 公司id
    * @return int
    * @author Dingyayong
    * @date 2019-10-18 15:35
    */
    int deleteByIdAndCompId(@Param("id") Long id, @Param("compId") Long compId);

    /**
     * 删除附件
     * @param compId 公司id
     * @param docTypeValue 单据类型
     * @param docId
     * @param attUrl
     * @return com.softtown.modules.sys.entity.CompComDocAttEntity
     * @Author fuming
     * @Date 2020/5/26 17:17
     */
    CompComDocAttEntity selectDocAttByUrl(@Param("compId") Long compId,@Param("docTypeValue") String docTypeValue,@Param("docId") Long docId,@Param("attUrl") String attUrl);

    /**
     * 找到该单据最后一行的行号
     * @param docId
     * @param compId
     * @return
     */
    CompComDocAttEntity getByDocIdAndCompIdByLinNo(@Param("docId") Long docId, @Param("compId") Long compId);

    /**
     * 更新单据表
     * @param compComDocAttEntity
     */
    void updateDocAtt(CompComDocAttEntity compComDocAttEntity);
}
